using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using Entidades;
public partial class ABMContratacion : System.Web.UI.Page
{
	protected void Page_Load(object sender, System.EventArgs e)
	{
		if (!Page.IsPostBack) {
			preparaAlta();
		}
	}
	protected void linkContratacion_Click(object sender, System.EventArgs e)
	{
		traerTodos();
	}
	private void traerTodos()
	{
		try {
			grdContratacion.DataSource = Contratacion.TraerTodos();
			grdContratacion.DataBind();
		} catch (Exception ex) {
			grdContratacion.DataSource = null;
			grdContratacion.DataBind();
			LUM.lum.mensaje(ex.Message);
		}
	}
	protected void linkAceptar_Click(object sender, System.EventArgs e)
	{
		try {
			Contratacion contratacion = new Contratacion();
			contratacion.IdPostulacion = int.Parse(txtIdPostulacion.Text.ToString());
			contratacion.IdUsuario = int.Parse(txtIdUsuario.Text.ToString());
			contratacion.FechaContratacion = DateTime.Parse(txtFechaContratacion.Text.ToString());
			contratacion.EstadoContratacion = int.Parse(txtEstadoContratacion.Text.ToString());
			contratacion.FechaCamioEstado = DateTime.Parse(txtFechaCamioEstado.Text.ToString());
			contratacion.CalificacionParaPostulante = int.Parse(txtCalificacionParaPostulante.Text.ToString());
			contratacion.CalificacionParaContratante = int.Parse(txtCalificacionParaContratante.Text.ToString());
			contratacion.FechaCalificacionParaPostulante = DateTime.Parse(txtFechaCalificacionParaPostulante.Text.ToString());
			contratacion.FechaCalificacionParaContratante = DateTime.Parse(txtFechaCalificacionParaContratante.Text.ToString());
			if (ViewState["Id"] == null) {
				contratacion.Alta();
			} else {
				contratacion.Id = int.Parse(ViewState["Id"].ToString());
				contratacion.Modificar();
			}
		} catch (Exception ex) {
			LUM.lum.mensaje(ex.Message);
		} finally {
			blanquearCampos();
		}
	}
	protected void grdContratacion_RowDeleting(object sender, System.Web.UI.WebControls.GridViewDeleteEventArgs e)
	{
		try {
            Contratacion contratacion = new Contratacion(int.Parse(grdContratacion.DataKeys[e.RowIndex].Values["Id"].ToString()));
			contratacion.Baja();
		} catch (Exception ex) {
			LUM.lum.mensaje(ex.Message);
		}
	}
	protected void grdContratacion_SelectedIndexChanged(object sender, System.EventArgs e)
	{
		try {
			preparaModificacion();
			ViewState["Id"] = grdContratacion.SelectedDataKey.Values["Id"];
			Contratacion contratacion = new Contratacion(int.Parse(ViewState["Id"].ToString()));
			txtIdPostulacion.Text = contratacion.IdPostulacion.ToString();
			txtIdUsuario.Text = contratacion.IdUsuario.ToString();
			txtFechaContratacion.Text = contratacion.FechaContratacion.ToString();
			txtEstadoContratacion.Text = contratacion.EstadoContratacion.ToString();
			txtFechaCamioEstado.Text = contratacion.FechaCamioEstado.ToString();
			txtCalificacionParaPostulante.Text = contratacion.CalificacionParaPostulante.ToString();
			txtCalificacionParaContratante.Text = contratacion.CalificacionParaContratante.ToString();
			txtFechaCalificacionParaPostulante.Text = contratacion.FechaCalificacionParaPostulante.ToString();
			txtFechaCalificacionParaContratante.Text = contratacion.FechaCalificacionParaContratante.ToString();
		} catch (Exception ex) {
			LUM.lum.mensaje(ex.Message);
		}
	}
	protected void linkNuevo_Click(object sender, System.EventArgs e)
	{
		preparaAlta();
	}
	private void blanquearCampos()
	{
		txtIdPostulacion.Text = "";
		txtIdUsuario.Text = "";
		txtFechaContratacion.Text = "";
		txtEstadoContratacion.Text = "";
		txtFechaCamioEstado.Text = "";
		txtCalificacionParaPostulante.Text = "";
		txtCalificacionParaContratante.Text = "";
		txtFechaCalificacionParaPostulante.Text = "";
		txtFechaCalificacionParaContratante.Text = "";
	}
	private void preparaAlta()
	{
		ViewState.Remove("Id");
		lbl.Text = "Alta de datos";
	}

	private void preparaModificacion()
	{
		lbl.Text = "Modificacion de datos";
	}
	
}
